# coding: utf-8
# element のクローンを生成, 追加する

from xml.dom import minidom

# sample.xmlファイルを読み込む
xdoc = minidom.parse("sample.xml")

# レシピを取得
recipe = xdoc.documentElement

# レシピをコピー
recipe2 = xdoc.documentElement.cloneNode(recipe)
# コピーしたレシピ内にある料理名を変更
recipe2.getElementsByTagName("dish").item(0).childNodes[0].data="不都合なパン"
# コピーしたレシピをドキュメントに追加
xdoc.insertBefore(recipe2, recipe)

# 内容を文字列に変換して表示
print(xdoc.toxml())


"""    実行結果
<?xml version="1.0" ?>
<recipe cokking-time="3時間" name="パン" preparations-time="5分">
    <dish>不都合なパン</dish>
    <material quantity="3" unit="カップ">小麦粉</material>
    <material quantity="0.25" unit="オンス">イースト</material>
    <material quantity="1.5" unit="カップ">水</material>
    <material quantity="1" unit="ティースプーン">食塩</material>
    <point>
        <process>全ての材料を一緒にして混ぜます。</process>
        <process>十分にこねます。</process>
        <process>布で覆い、暖かい部屋で1時間そのままにしておきます。</process>
        <process>もう一度こねます。</process>
        <process>パン焼きの容器に入れます。</process>
        <process>布で覆い、暖かい部屋で1時間そのままにしておきます。</process>
        <process>オーブンに入れて温度を180℃にして30分間焼きます。</process>
    </point>
</recipe>
<recipe cokking-time="3時間" name="パン" preparations-time="5分">
    <dish>基本的なパン</dish>
    <material quantity="3" unit="カップ">小麦粉</material>
    <material quantity="0.25" unit="オンス">イースト</material>
    <material quantity="1.5" unit="カップ">水</material>
    <material quantity="1" unit="ティースプーン">食塩</material>
    <point>
        <process>全ての材料を一緒にして混ぜます。</process>
        <process>十分にこねます。</process>
        <process>布で覆い、暖かい部屋で1時間そのままにしておきます。</process>
        <process>もう一度こねます。</process>
        <process>パン焼きの容器に入れます。</process>
        <process>布で覆い、暖かい部屋で1時間そのままにしておきます。</process>
        <process>オーブンに入れて温度を180℃にして30分間焼きます。</process>
    </point>
</recipe>
"""